﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AmazonMODEL
{
    #region MusicalInstruments
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class MusicalInstruments
    {

        private MusicalInstrumentsProductType productTypeField;

        /// <remarks/>
        public MusicalInstrumentsProductType ProductType
        {
            get
            {
                return this.productTypeField;
            }
            set
            {
                this.productTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class MusicalInstrumentsProductType
    {

        private object itemField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BrassAndWoodwindInstruments", typeof(BrassAndWoodwindInstruments))]
        [System.Xml.Serialization.XmlElementAttribute("Guitars", typeof(Guitars))]
        [System.Xml.Serialization.XmlElementAttribute("InstrumentPartsAndAccessories", typeof(InstrumentPartsAndAccessories))]
        [System.Xml.Serialization.XmlElementAttribute("KeyboardInstruments", typeof(KeyboardInstruments))]
        [System.Xml.Serialization.XmlElementAttribute("MiscWorldInstruments", typeof(MiscWorldInstruments))]
        [System.Xml.Serialization.XmlElementAttribute("PercussionInstruments", typeof(PercussionInstruments))]
        [System.Xml.Serialization.XmlElementAttribute("SoundAndRecordingEquipment", typeof(SoundAndRecordingEquipment))]
        [System.Xml.Serialization.XmlElementAttribute("StringedInstruments", typeof(StringedInstruments))]
        public object Item
        {
            get
            {
                return this.itemField;
            }
            set
            {
                this.itemField = value;
            }
        }
    }

    #region BrassAndWoodwindInstruments
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class BrassAndWoodwindInstruments
    {

        private BrassAndWoodwindInstrumentsVariationData variationDataField;

        private string additionalSpecificationsField;

        private BrassAndWoodwindInstrumentsColorSpecification colorSpecificationField;

        private string sizeField;

        private InstrumentSizeMapType sizeMapField;

        private bool sizeMapFieldSpecified;

        private string countryProducedInField;

        private string instrumentKeyField;

        private BrassAndWoodwindInstrumentsRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private string materialTypeField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private BrassAndWoodwindInstrumentsProficiencyLevel proficiencyLevelField;

        private bool proficiencyLevelFieldSpecified;

        private BrassAndWoodwindInstrumentsHandOrientation handOrientationField;

        private bool handOrientationFieldSpecified;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public BrassAndWoodwindInstruments()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public BrassAndWoodwindInstrumentsVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public BrassAndWoodwindInstrumentsColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Size
        {
            get
            {
                return this.sizeField;
            }
            set
            {
                this.sizeField = value;
            }
        }

        /// <remarks/>
        public InstrumentSizeMapType SizeMap
        {
            get
            {
                return this.sizeMapField;
            }
            set
            {
                this.sizeMapField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SizeMapSpecified
        {
            get
            {
                return this.sizeMapFieldSpecified;
            }
            set
            {
                this.sizeMapFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public BrassAndWoodwindInstrumentsRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        public BrassAndWoodwindInstrumentsProficiencyLevel ProficiencyLevel
        {
            get
            {
                return this.proficiencyLevelField;
            }
            set
            {
                this.proficiencyLevelField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProficiencyLevelSpecified
        {
            get
            {
                return this.proficiencyLevelFieldSpecified;
            }
            set
            {
                this.proficiencyLevelFieldSpecified = value;
            }
        }

        /// <remarks/>
        public BrassAndWoodwindInstrumentsHandOrientation HandOrientation
        {
            get
            {
                return this.handOrientationField;
            }
            set
            {
                this.handOrientationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HandOrientationSpecified
        {
            get
            {
                return this.handOrientationFieldSpecified;
            }
            set
            {
                this.handOrientationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class BrassAndWoodwindInstrumentsVariationData
    {

        private BrassAndWoodwindInstrumentsVariationDataParentage parentageField;

        private BrassAndWoodwindInstrumentsVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public BrassAndWoodwindInstrumentsVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public BrassAndWoodwindInstrumentsVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BrassAndWoodwindInstrumentsVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BrassAndWoodwindInstrumentsVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class BrassAndWoodwindInstrumentsColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    public enum InstrumentSizeMapType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("1/4")]
        Item14,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("1/2")]
        Item12,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3/4")]
        Item34,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4/4")]
        Item44,

        /// <remarks/>
        Mini,

        /// <remarks/>
        Jumbo,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("X-Small")]
        XSmall,

        /// <remarks/>
        Small,

        /// <remarks/>
        Medium,

        /// <remarks/>
        Large,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("X-Large")]
        XLarge,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BrassAndWoodwindInstrumentsRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BrassAndWoodwindInstrumentsProficiencyLevel
    {

        /// <remarks/>
        Intermediate,

        /// <remarks/>
        Professional,

        /// <remarks/>
        Student,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BrassAndWoodwindInstrumentsHandOrientation
    {

        /// <remarks/>
        left,

        /// <remarks/>
        right,

        /// <remarks/>
        ambidextrous,
    } 
    #endregion

    #region Guitars
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Guitars
    {

        private GuitarsVariationData variationDataField;

        private string additionalSpecificationsField;

        private GuitarsColorSpecification colorSpecificationField;

        private string sizeField;

        private InstrumentSizeMapType sizeMapField;

        private bool sizeMapFieldSpecified;

        private string countryProducedInField;

        private GuitarsGuitarAttribute guitarAttributeField;

        private bool guitarAttributeFieldSpecified;

        private GuitarsGuitarBridgeSystem guitarBridgeSystemField;

        private bool guitarBridgeSystemFieldSpecified;

        private GuitarsGuitarPickupConfiguration guitarPickupConfigurationField;

        private bool guitarPickupConfigurationFieldSpecified;

        private string instrumentKeyField;

        private GuitarsRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private string materialTypeField;

        private string backMaterialField;

        private string bodyMaterialField;

        private string topMaterialField;

        private string fretboardMaterialField;

        private string neckMaterialField;

        private string stringMaterialField;

        private string stringGaugeField;

        private string pickguardDescriptionField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string speakerCountField;

        private LengthDimension speakerSizeField;

        private string speakerAmplificationTypeField;

        private string numberOfStringsField;

        private GuitarsHandOrientation handOrientationField;

        private bool handOrientationFieldSpecified;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public Guitars()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public GuitarsVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public GuitarsColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Size
        {
            get
            {
                return this.sizeField;
            }
            set
            {
                this.sizeField = value;
            }
        }

        /// <remarks/>
        public InstrumentSizeMapType SizeMap
        {
            get
            {
                return this.sizeMapField;
            }
            set
            {
                this.sizeMapField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SizeMapSpecified
        {
            get
            {
                return this.sizeMapFieldSpecified;
            }
            set
            {
                this.sizeMapFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        public GuitarsGuitarAttribute GuitarAttribute
        {
            get
            {
                return this.guitarAttributeField;
            }
            set
            {
                this.guitarAttributeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GuitarAttributeSpecified
        {
            get
            {
                return this.guitarAttributeFieldSpecified;
            }
            set
            {
                this.guitarAttributeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public GuitarsGuitarBridgeSystem GuitarBridgeSystem
        {
            get
            {
                return this.guitarBridgeSystemField;
            }
            set
            {
                this.guitarBridgeSystemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GuitarBridgeSystemSpecified
        {
            get
            {
                return this.guitarBridgeSystemFieldSpecified;
            }
            set
            {
                this.guitarBridgeSystemFieldSpecified = value;
            }
        }

        /// <remarks/>
        public GuitarsGuitarPickupConfiguration GuitarPickupConfiguration
        {
            get
            {
                return this.guitarPickupConfigurationField;
            }
            set
            {
                this.guitarPickupConfigurationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GuitarPickupConfigurationSpecified
        {
            get
            {
                return this.guitarPickupConfigurationFieldSpecified;
            }
            set
            {
                this.guitarPickupConfigurationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public GuitarsRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BackMaterial
        {
            get
            {
                return this.backMaterialField;
            }
            set
            {
                this.backMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BodyMaterial
        {
            get
            {
                return this.bodyMaterialField;
            }
            set
            {
                this.bodyMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string TopMaterial
        {
            get
            {
                return this.topMaterialField;
            }
            set
            {
                this.topMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FretboardMaterial
        {
            get
            {
                return this.fretboardMaterialField;
            }
            set
            {
                this.fretboardMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string NeckMaterial
        {
            get
            {
                return this.neckMaterialField;
            }
            set
            {
                this.neckMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringMaterial
        {
            get
            {
                return this.stringMaterialField;
            }
            set
            {
                this.stringMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringGauge
        {
            get
            {
                return this.stringGaugeField;
            }
            set
            {
                this.stringGaugeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PickguardDescription
        {
            get
            {
                return this.pickguardDescriptionField;
            }
            set
            {
                this.pickguardDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string SpeakerCount
        {
            get
            {
                return this.speakerCountField;
            }
            set
            {
                this.speakerCountField = value;
            }
        }

        /// <remarks/>
        public LengthDimension SpeakerSize
        {
            get
            {
                return this.speakerSizeField;
            }
            set
            {
                this.speakerSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SpeakerAmplificationType
        {
            get
            {
                return this.speakerAmplificationTypeField;
            }
            set
            {
                this.speakerAmplificationTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfStrings
        {
            get
            {
                return this.numberOfStringsField;
            }
            set
            {
                this.numberOfStringsField = value;
            }
        }

        /// <remarks/>
        public GuitarsHandOrientation HandOrientation
        {
            get
            {
                return this.handOrientationField;
            }
            set
            {
                this.handOrientationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HandOrientationSpecified
        {
            get
            {
                return this.handOrientationFieldSpecified;
            }
            set
            {
                this.handOrientationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class GuitarsVariationData
    {

        private GuitarsVariationDataParentage parentageField;

        private GuitarsVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public GuitarsVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public GuitarsVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class GuitarsColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsGuitarAttribute
    {

        /// <remarks/>
        dreadnought,

        /// <remarks/>
        fretless,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grand-auditorium")]
        grandauditorium,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grand-concert")]
        grandconcert,

        /// <remarks/>
        jumbo,

        /// <remarks/>
        mini,

        /// <remarks/>
        nex,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("shallow-body")]
        shallowbody,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("short-scale")]
        shortscale,

        /// <remarks/>
        travel,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsGuitarBridgeSystem
    {

        /// <remarks/>
        adjustable,

        /// <remarks/>
        @double,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("edge-pro")]
        edgepro,

        /// <remarks/>
        @fixed,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("floyd-rose")]
        floydrose,

        /// <remarks/>
        fulcrum,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hardtail-bridge")]
        hardtailbridge,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("individual-adjustable-bridge-system")]
        individualadjustablebridgesystem,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("jackson-locking-tremolo")]
        jacksonlockingtremolo,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("locking-tremolo")]
        lockingtremolo,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("stop-tail")]
        stoptail,

        /// <remarks/>
        tremolo,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tune-o-matic")]
        tuneomatic,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("vintage-fulcrum-bridge")]
        vintagefulcrumbridge,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsGuitarPickupConfiguration
    {

        /// <remarks/>
        combination,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("custom-removable-pickups")]
        customremovablepickups,

        /// <remarks/>
        humbucker,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("magnetic-combination")]
        magneticcombination,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("magnetic-double-coil")]
        magneticdoublecoil,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("magnetic-single-coil")]
        magneticsinglecoil,

        /// <remarks/>
        piezoelectric,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("single-coil")]
        singlecoil,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum GuitarsHandOrientation
    {

        /// <remarks/>
        left,

        /// <remarks/>
        right,

        /// <remarks/>
        ambidextrous,
    } 
    #endregion

    #region InstrumentPartsAndAccessories
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class InstrumentPartsAndAccessories
    {

        private InstrumentPartsAndAccessoriesVariationData variationDataField;

        private string additionalSpecificationsField;

        private InstrumentPartsAndAccessoriesColorSpecification colorSpecificationField;

        private LengthDimension cableLengthField;

        private string countryProducedInField;

        private string drumSticksSizeField;

        private InstrumentPartsAndAccessoriesGuitarPickThickness guitarPickThicknessField;

        private bool guitarPickThicknessFieldSpecified;

        private string instrumentKeyField;

        private InstrumentPartsAndAccessoriesRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private InstrumentPartsAndAccessoriesMalletHardness malletHardnessField;

        private bool malletHardnessFieldSpecified;

        private string materialTypeField;

        private string backMaterialField;

        private string topMaterialField;

        private string fretboardMaterialField;

        private string neckMaterialField;

        private string stringMaterialField;

        private string stringGaugeField;

        private string pickguardDescriptionField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string speakerCountField;

        private LengthDimension speakerSizeField;

        private string speakerAmplificationTypeField;

        private string numberOfKeyboardKeysField;

        private string keyActionField;

        private LengthIntegerDimension percussionDiameterField;

        private InstrumentPartsAndAccessoriesHandOrientation handOrientationField;

        private bool handOrientationFieldSpecified;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private bool isACAdapterIncludedField;

        private bool isACAdapterIncludedFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string digitalAudioProtocolField;

        private string hardwareInterfaceField;

        private string operatingSystemField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public InstrumentPartsAndAccessories()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        public LengthDimension CableLength
        {
            get
            {
                return this.cableLengthField;
            }
            set
            {
                this.cableLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DrumSticksSize
        {
            get
            {
                return this.drumSticksSizeField;
            }
            set
            {
                this.drumSticksSizeField = value;
            }
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesGuitarPickThickness GuitarPickThickness
        {
            get
            {
                return this.guitarPickThicknessField;
            }
            set
            {
                this.guitarPickThicknessField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GuitarPickThicknessSpecified
        {
            get
            {
                return this.guitarPickThicknessFieldSpecified;
            }
            set
            {
                this.guitarPickThicknessFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesMalletHardness MalletHardness
        {
            get
            {
                return this.malletHardnessField;
            }
            set
            {
                this.malletHardnessField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MalletHardnessSpecified
        {
            get
            {
                return this.malletHardnessFieldSpecified;
            }
            set
            {
                this.malletHardnessFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BackMaterial
        {
            get
            {
                return this.backMaterialField;
            }
            set
            {
                this.backMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string TopMaterial
        {
            get
            {
                return this.topMaterialField;
            }
            set
            {
                this.topMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FretboardMaterial
        {
            get
            {
                return this.fretboardMaterialField;
            }
            set
            {
                this.fretboardMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string NeckMaterial
        {
            get
            {
                return this.neckMaterialField;
            }
            set
            {
                this.neckMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringMaterial
        {
            get
            {
                return this.stringMaterialField;
            }
            set
            {
                this.stringMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringGauge
        {
            get
            {
                return this.stringGaugeField;
            }
            set
            {
                this.stringGaugeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PickguardDescription
        {
            get
            {
                return this.pickguardDescriptionField;
            }
            set
            {
                this.pickguardDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string SpeakerCount
        {
            get
            {
                return this.speakerCountField;
            }
            set
            {
                this.speakerCountField = value;
            }
        }

        /// <remarks/>
        public LengthDimension SpeakerSize
        {
            get
            {
                return this.speakerSizeField;
            }
            set
            {
                this.speakerSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SpeakerAmplificationType
        {
            get
            {
                return this.speakerAmplificationTypeField;
            }
            set
            {
                this.speakerAmplificationTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfKeyboardKeys
        {
            get
            {
                return this.numberOfKeyboardKeysField;
            }
            set
            {
                this.numberOfKeyboardKeysField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string KeyAction
        {
            get
            {
                return this.keyActionField;
            }
            set
            {
                this.keyActionField = value;
            }
        }

        /// <remarks/>
        public LengthIntegerDimension PercussionDiameter
        {
            get
            {
                return this.percussionDiameterField;
            }
            set
            {
                this.percussionDiameterField = value;
            }
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesHandOrientation HandOrientation
        {
            get
            {
                return this.handOrientationField;
            }
            set
            {
                this.handOrientationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HandOrientationSpecified
        {
            get
            {
                return this.handOrientationFieldSpecified;
            }
            set
            {
                this.handOrientationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool IsACAdapterIncluded
        {
            get
            {
                return this.isACAdapterIncludedField;
            }
            set
            {
                this.isACAdapterIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsACAdapterIncludedSpecified
        {
            get
            {
                return this.isACAdapterIncludedFieldSpecified;
            }
            set
            {
                this.isACAdapterIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DigitalAudioProtocol
        {
            get
            {
                return this.digitalAudioProtocolField;
            }
            set
            {
                this.digitalAudioProtocolField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string HardwareInterface
        {
            get
            {
                return this.hardwareInterfaceField;
            }
            set
            {
                this.hardwareInterfaceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OperatingSystem
        {
            get
            {
                return this.operatingSystemField;
            }
            set
            {
                this.operatingSystemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class InstrumentPartsAndAccessoriesVariationData
    {

        private InstrumentPartsAndAccessoriesVariationDataParentage parentageField;

        private InstrumentPartsAndAccessoriesVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public InstrumentPartsAndAccessoriesVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public InstrumentPartsAndAccessoriesVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum InstrumentPartsAndAccessoriesVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum InstrumentPartsAndAccessoriesVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class InstrumentPartsAndAccessoriesColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum InstrumentPartsAndAccessoriesGuitarPickThickness
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("extra-thick")]
        extrathick,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("extra-thin")]
        extrathin,

        /// <remarks/>
        medium,

        /// <remarks/>
        thick,

        /// <remarks/>
        thin,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum InstrumentPartsAndAccessoriesRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum InstrumentPartsAndAccessoriesMalletHardness
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("extra-hard")]
        extrahard,

        /// <remarks/>
        hard,

        /// <remarks/>
        medium,

        /// <remarks/>
        soft,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum InstrumentPartsAndAccessoriesHandOrientation
    {

        /// <remarks/>
        left,

        /// <remarks/>
        right,

        /// <remarks/>
        ambidextrous,
    } 
    #endregion

    #region KeyboardInstruments
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class KeyboardInstruments
    {

        private KeyboardInstrumentsVariationData variationDataField;

        private string additionalSpecificationsField;

        private KeyboardInstrumentsColorSpecification colorSpecificationField;

        private string countryProducedInField;

        private string instrumentKeyField;

        private KeyboardInstrumentsRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private string materialTypeField;

        private string stringMaterialField;

        private string stringGaugeField;

        private string pickguardDescriptionField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string speakerCountField;

        private LengthDimension speakerSizeField;

        private string speakerAmplificationTypeField;

        private string numberOfKeyboardKeysField;

        private string keyActionField;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private bool isACAdapterIncludedField;

        private bool isACAdapterIncludedFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string numberOfChannelsField;

        private string digitalAudioProtocolField;

        private string hardwareInterfaceField;

        private string operatingSystemField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public KeyboardInstruments()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public KeyboardInstrumentsVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public KeyboardInstrumentsColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public KeyboardInstrumentsRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringMaterial
        {
            get
            {
                return this.stringMaterialField;
            }
            set
            {
                this.stringMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringGauge
        {
            get
            {
                return this.stringGaugeField;
            }
            set
            {
                this.stringGaugeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PickguardDescription
        {
            get
            {
                return this.pickguardDescriptionField;
            }
            set
            {
                this.pickguardDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string SpeakerCount
        {
            get
            {
                return this.speakerCountField;
            }
            set
            {
                this.speakerCountField = value;
            }
        }

        /// <remarks/>
        public LengthDimension SpeakerSize
        {
            get
            {
                return this.speakerSizeField;
            }
            set
            {
                this.speakerSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SpeakerAmplificationType
        {
            get
            {
                return this.speakerAmplificationTypeField;
            }
            set
            {
                this.speakerAmplificationTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfKeyboardKeys
        {
            get
            {
                return this.numberOfKeyboardKeysField;
            }
            set
            {
                this.numberOfKeyboardKeysField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string KeyAction
        {
            get
            {
                return this.keyActionField;
            }
            set
            {
                this.keyActionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool IsACAdapterIncluded
        {
            get
            {
                return this.isACAdapterIncludedField;
            }
            set
            {
                this.isACAdapterIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsACAdapterIncludedSpecified
        {
            get
            {
                return this.isACAdapterIncludedFieldSpecified;
            }
            set
            {
                this.isACAdapterIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfChannels
        {
            get
            {
                return this.numberOfChannelsField;
            }
            set
            {
                this.numberOfChannelsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DigitalAudioProtocol
        {
            get
            {
                return this.digitalAudioProtocolField;
            }
            set
            {
                this.digitalAudioProtocolField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string HardwareInterface
        {
            get
            {
                return this.hardwareInterfaceField;
            }
            set
            {
                this.hardwareInterfaceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OperatingSystem
        {
            get
            {
                return this.operatingSystemField;
            }
            set
            {
                this.operatingSystemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class KeyboardInstrumentsVariationData
    {

        private KeyboardInstrumentsVariationDataParentage parentageField;

        private KeyboardInstrumentsVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public KeyboardInstrumentsVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public KeyboardInstrumentsVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum KeyboardInstrumentsVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum KeyboardInstrumentsVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class KeyboardInstrumentsColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum KeyboardInstrumentsRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    } 
    #endregion

    #region MiscWorldInstruments
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class MiscWorldInstruments
    {

        private MiscWorldInstrumentsVariationData variationDataField;

        private string additionalSpecificationsField;

        private MiscWorldInstrumentsColorSpecification colorSpecificationField;

        private string countryProducedInField;

        private string instrumentKeyField;

        private MiscWorldInstrumentsRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private string materialTypeField;

        private string backMaterialField;

        private string bodyMaterialField;

        private string topMaterialField;

        private string fretboardMaterialField;

        private string neckMaterialField;

        private string stringMaterialField;

        private string stringGaugeField;

        private string pickguardDescriptionField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string regionOfOriginField;

        private LengthDimension percussionDiameterField;

        private MiscWorldInstrumentsHandOrientation handOrientationField;

        private bool handOrientationFieldSpecified;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private bool isACAdapterIncludedField;

        private bool isACAdapterIncludedFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string numberOfChannelsField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public MiscWorldInstruments()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public MiscWorldInstrumentsVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public MiscWorldInstrumentsColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public MiscWorldInstrumentsRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BackMaterial
        {
            get
            {
                return this.backMaterialField;
            }
            set
            {
                this.backMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BodyMaterial
        {
            get
            {
                return this.bodyMaterialField;
            }
            set
            {
                this.bodyMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string TopMaterial
        {
            get
            {
                return this.topMaterialField;
            }
            set
            {
                this.topMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FretboardMaterial
        {
            get
            {
                return this.fretboardMaterialField;
            }
            set
            {
                this.fretboardMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string NeckMaterial
        {
            get
            {
                return this.neckMaterialField;
            }
            set
            {
                this.neckMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringMaterial
        {
            get
            {
                return this.stringMaterialField;
            }
            set
            {
                this.stringMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringGauge
        {
            get
            {
                return this.stringGaugeField;
            }
            set
            {
                this.stringGaugeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PickguardDescription
        {
            get
            {
                return this.pickguardDescriptionField;
            }
            set
            {
                this.pickguardDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string RegionOfOrigin
        {
            get
            {
                return this.regionOfOriginField;
            }
            set
            {
                this.regionOfOriginField = value;
            }
        }

        /// <remarks/>
        public LengthDimension PercussionDiameter
        {
            get
            {
                return this.percussionDiameterField;
            }
            set
            {
                this.percussionDiameterField = value;
            }
        }

        /// <remarks/>
        public MiscWorldInstrumentsHandOrientation HandOrientation
        {
            get
            {
                return this.handOrientationField;
            }
            set
            {
                this.handOrientationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HandOrientationSpecified
        {
            get
            {
                return this.handOrientationFieldSpecified;
            }
            set
            {
                this.handOrientationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool IsACAdapterIncluded
        {
            get
            {
                return this.isACAdapterIncludedField;
            }
            set
            {
                this.isACAdapterIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsACAdapterIncludedSpecified
        {
            get
            {
                return this.isACAdapterIncludedFieldSpecified;
            }
            set
            {
                this.isACAdapterIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfChannels
        {
            get
            {
                return this.numberOfChannelsField;
            }
            set
            {
                this.numberOfChannelsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class MiscWorldInstrumentsVariationData
    {

        private MiscWorldInstrumentsVariationDataParentage parentageField;

        private MiscWorldInstrumentsVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public MiscWorldInstrumentsVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public MiscWorldInstrumentsVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum MiscWorldInstrumentsVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum MiscWorldInstrumentsVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class MiscWorldInstrumentsColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum MiscWorldInstrumentsRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum MiscWorldInstrumentsHandOrientation
    {

        /// <remarks/>
        left,

        /// <remarks/>
        right,

        /// <remarks/>
        ambidextrous,
    } 
    #endregion

    #region PercussionInstruments
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class PercussionInstruments
    {

        private PercussionInstrumentsVariationData variationDataField;

        private string additionalSpecificationsField;

        private PercussionInstrumentsColorSpecification colorSpecificationField;

        private string countryProducedInField;

        private string drumSetPieceQtyField;

        private string instrumentKeyField;

        private PercussionInstrumentsRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private string materialTypeField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string numberOfStringsField;

        private string numberOfKeyboardKeysField;

        private LengthIntegerDimension percussionDiameterField;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public PercussionInstruments()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public PercussionInstrumentsVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public PercussionInstrumentsColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string DrumSetPieceQty
        {
            get
            {
                return this.drumSetPieceQtyField;
            }
            set
            {
                this.drumSetPieceQtyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public PercussionInstrumentsRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfStrings
        {
            get
            {
                return this.numberOfStringsField;
            }
            set
            {
                this.numberOfStringsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfKeyboardKeys
        {
            get
            {
                return this.numberOfKeyboardKeysField;
            }
            set
            {
                this.numberOfKeyboardKeysField = value;
            }
        }

        /// <remarks/>
        public LengthIntegerDimension PercussionDiameter
        {
            get
            {
                return this.percussionDiameterField;
            }
            set
            {
                this.percussionDiameterField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class PercussionInstrumentsVariationData
    {

        private PercussionInstrumentsVariationDataParentage parentageField;

        private PercussionInstrumentsVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public PercussionInstrumentsVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public PercussionInstrumentsVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PercussionInstrumentsVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PercussionInstrumentsVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class PercussionInstrumentsColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PercussionInstrumentsRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    } 
    #endregion

    #region SoundAndRecordingEquipment
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class SoundAndRecordingEquipment
    {

        private SoundAndRecordingEquipmentVariationData variationDataField;

        private string additionalSpecificationsField;

        private SoundAndRecordingEquipmentColorSpecification colorSpecificationField;

        private string countryProducedInField;

        private string instrumentKeyField;

        private SoundAndRecordingEquipmentRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string itemPackageQuantityField;

        private string mixerChannelQtyField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string outputWattageField;

        private string recorderTrackCountField;

        private string speakerCountField;

        private LengthDimension speakerSizeField;

        private string speakerAmplificationTypeField;

        private FrequencyIntegerDimension wirelessMicrophoneFrequencyField;

        private string keyActionField;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private bool isACAdapterIncludedField;

        private bool isACAdapterIncludedFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string numberOfChannelsField;

        private string digitalAudioProtocolField;

        private string hardwareInterfaceField;

        private string operatingSystemField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public SoundAndRecordingEquipment()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public SoundAndRecordingEquipmentVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public SoundAndRecordingEquipmentColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public SoundAndRecordingEquipmentRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string MixerChannelQty
        {
            get
            {
                return this.mixerChannelQtyField;
            }
            set
            {
                this.mixerChannelQtyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string OutputWattage
        {
            get
            {
                return this.outputWattageField;
            }
            set
            {
                this.outputWattageField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string RecorderTrackCount
        {
            get
            {
                return this.recorderTrackCountField;
            }
            set
            {
                this.recorderTrackCountField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string SpeakerCount
        {
            get
            {
                return this.speakerCountField;
            }
            set
            {
                this.speakerCountField = value;
            }
        }

        /// <remarks/>
        public LengthDimension SpeakerSize
        {
            get
            {
                return this.speakerSizeField;
            }
            set
            {
                this.speakerSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SpeakerAmplificationType
        {
            get
            {
                return this.speakerAmplificationTypeField;
            }
            set
            {
                this.speakerAmplificationTypeField = value;
            }
        }

        /// <remarks/>
        public FrequencyIntegerDimension WirelessMicrophoneFrequency
        {
            get
            {
                return this.wirelessMicrophoneFrequencyField;
            }
            set
            {
                this.wirelessMicrophoneFrequencyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string KeyAction
        {
            get
            {
                return this.keyActionField;
            }
            set
            {
                this.keyActionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool IsACAdapterIncluded
        {
            get
            {
                return this.isACAdapterIncludedField;
            }
            set
            {
                this.isACAdapterIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsACAdapterIncludedSpecified
        {
            get
            {
                return this.isACAdapterIncludedFieldSpecified;
            }
            set
            {
                this.isACAdapterIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfChannels
        {
            get
            {
                return this.numberOfChannelsField;
            }
            set
            {
                this.numberOfChannelsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DigitalAudioProtocol
        {
            get
            {
                return this.digitalAudioProtocolField;
            }
            set
            {
                this.digitalAudioProtocolField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string HardwareInterface
        {
            get
            {
                return this.hardwareInterfaceField;
            }
            set
            {
                this.hardwareInterfaceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OperatingSystem
        {
            get
            {
                return this.operatingSystemField;
            }
            set
            {
                this.operatingSystemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class SoundAndRecordingEquipmentVariationData
    {

        private SoundAndRecordingEquipmentVariationDataParentage parentageField;

        private SoundAndRecordingEquipmentVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public SoundAndRecordingEquipmentVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public SoundAndRecordingEquipmentVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SoundAndRecordingEquipmentVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SoundAndRecordingEquipmentVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class SoundAndRecordingEquipmentColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SoundAndRecordingEquipmentRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    } 
    #endregion

    #region StringedInstruments
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class StringedInstruments
    {

        private StringedInstrumentsVariationData variationDataField;

        private string additionalSpecificationsField;

        private StringedInstrumentsColorSpecification colorSpecificationField;

        private string sizeField;

        private InstrumentSizeMapType sizeMapField;

        private bool sizeMapFieldSpecified;

        private string countryProducedInField;

        private string instrumentKeyField;

        private StringedInstrumentsRange rangeField;

        private bool rangeFieldSpecified;

        private string scaleLengthField;

        private string instrumentSizeField;

        private string itemPackageQuantityField;

        private string materialTypeField;

        private string backMaterialField;

        private string bodyMaterialField;

        private string topMaterialField;

        private string fretboardMaterialField;

        private string neckMaterialField;

        private string stringMaterialField;

        private string stringGaugeField;

        private string pickguardDescriptionField;

        private string modelNameField;

        private string modelNumberField;

        private string modelYearField;

        private string musicalStyleField;

        private string speakerCountField;

        private LengthDimension speakerSizeField;

        private string speakerAmplificationTypeField;

        private string numberOfStringsField;

        private StringedInstrumentsHandOrientation handOrientationField;

        private bool handOrientationFieldSpecified;

        private string itemStylingField;

        private string polarPatternField;

        private string numberOfPiecesField;

        private bool isAssemblyRequiredField;

        private bool isAssemblyRequiredFieldSpecified;

        private Battery batteryField;

        private FrequencyDimension maximumSampleRateField;

        private string connectorTypeField;

        private string signalFormatField;

        private string supportedSoftwareField;

        private string sellerWarrantyDescriptionField;

        public StringedInstruments()
        {
            this.itemPackageQuantityField = "1";
        }

        /// <remarks/>
        public StringedInstrumentsVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalSpecifications
        {
            get
            {
                return this.additionalSpecificationsField;
            }
            set
            {
                this.additionalSpecificationsField = value;
            }
        }

        /// <remarks/>
        public StringedInstrumentsColorSpecification ColorSpecification
        {
            get
            {
                return this.colorSpecificationField;
            }
            set
            {
                this.colorSpecificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Size
        {
            get
            {
                return this.sizeField;
            }
            set
            {
                this.sizeField = value;
            }
        }

        /// <remarks/>
        public InstrumentSizeMapType SizeMap
        {
            get
            {
                return this.sizeMapField;
            }
            set
            {
                this.sizeMapField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SizeMapSpecified
        {
            get
            {
                return this.sizeMapFieldSpecified;
            }
            set
            {
                this.sizeMapFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CountryProducedIn
        {
            get
            {
                return this.countryProducedInField;
            }
            set
            {
                this.countryProducedInField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentKey
        {
            get
            {
                return this.instrumentKeyField;
            }
            set
            {
                this.instrumentKeyField = value;
            }
        }

        /// <remarks/>
        public StringedInstrumentsRange Range
        {
            get
            {
                return this.rangeField;
            }
            set
            {
                this.rangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RangeSpecified
        {
            get
            {
                return this.rangeFieldSpecified;
            }
            set
            {
                this.rangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ScaleLength
        {
            get
            {
                return this.scaleLengthField;
            }
            set
            {
                this.scaleLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string InstrumentSize
        {
            get
            {
                return this.instrumentSizeField;
            }
            set
            {
                this.instrumentSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BackMaterial
        {
            get
            {
                return this.backMaterialField;
            }
            set
            {
                this.backMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BodyMaterial
        {
            get
            {
                return this.bodyMaterialField;
            }
            set
            {
                this.bodyMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string TopMaterial
        {
            get
            {
                return this.topMaterialField;
            }
            set
            {
                this.topMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FretboardMaterial
        {
            get
            {
                return this.fretboardMaterialField;
            }
            set
            {
                this.fretboardMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string NeckMaterial
        {
            get
            {
                return this.neckMaterialField;
            }
            set
            {
                this.neckMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringMaterial
        {
            get
            {
                return this.stringMaterialField;
            }
            set
            {
                this.stringMaterialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StringGauge
        {
            get
            {
                return this.stringGaugeField;
            }
            set
            {
                this.stringGaugeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PickguardDescription
        {
            get
            {
                return this.pickguardDescriptionField;
            }
            set
            {
                this.pickguardDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ModelYear
        {
            get
            {
                return this.modelYearField;
            }
            set
            {
                this.modelYearField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MusicalStyle
        {
            get
            {
                return this.musicalStyleField;
            }
            set
            {
                this.musicalStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string SpeakerCount
        {
            get
            {
                return this.speakerCountField;
            }
            set
            {
                this.speakerCountField = value;
            }
        }

        /// <remarks/>
        public LengthDimension SpeakerSize
        {
            get
            {
                return this.speakerSizeField;
            }
            set
            {
                this.speakerSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SpeakerAmplificationType
        {
            get
            {
                return this.speakerAmplificationTypeField;
            }
            set
            {
                this.speakerAmplificationTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfStrings
        {
            get
            {
                return this.numberOfStringsField;
            }
            set
            {
                this.numberOfStringsField = value;
            }
        }

        /// <remarks/>
        public StringedInstrumentsHandOrientation HandOrientation
        {
            get
            {
                return this.handOrientationField;
            }
            set
            {
                this.handOrientationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HandOrientationSpecified
        {
            get
            {
                return this.handOrientationFieldSpecified;
            }
            set
            {
                this.handOrientationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemStyling
        {
            get
            {
                return this.itemStylingField;
            }
            set
            {
                this.itemStylingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PolarPattern
        {
            get
            {
                return this.polarPatternField;
            }
            set
            {
                this.polarPatternField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        public bool IsAssemblyRequired
        {
            get
            {
                return this.isAssemblyRequiredField;
            }
            set
            {
                this.isAssemblyRequiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsAssemblyRequiredSpecified
        {
            get
            {
                return this.isAssemblyRequiredFieldSpecified;
            }
            set
            {
                this.isAssemblyRequiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        public Battery Battery
        {
            get
            {
                return this.batteryField;
            }
            set
            {
                this.batteryField = value;
            }
        }

        /// <remarks/>
        public FrequencyDimension MaximumSampleRate
        {
            get
            {
                return this.maximumSampleRateField;
            }
            set
            {
                this.maximumSampleRateField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ConnectorType
        {
            get
            {
                return this.connectorTypeField;
            }
            set
            {
                this.connectorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SignalFormat
        {
            get
            {
                return this.signalFormatField;
            }
            set
            {
                this.signalFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SupportedSoftware
        {
            get
            {
                return this.supportedSoftwareField;
            }
            set
            {
                this.supportedSoftwareField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SellerWarrantyDescription
        {
            get
            {
                return this.sellerWarrantyDescriptionField;
            }
            set
            {
                this.sellerWarrantyDescriptionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class StringedInstrumentsVariationData
    {

        private StringedInstrumentsVariationDataParentage parentageField;

        private StringedInstrumentsVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public StringedInstrumentsVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        public StringedInstrumentsVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum StringedInstrumentsVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum StringedInstrumentsVariationDataVariationTheme
    {

        /// <remarks/>
        Color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class StringedInstrumentsColorSpecification
    {

        private string colorField;

        private string colorMapField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum StringedInstrumentsRange
    {

        /// <remarks/>
        Alto,

        /// <remarks/>
        Baritone,

        /// <remarks/>
        Bass,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Mezzo Soprano")]
        MezzoSoprano,

        /// <remarks/>
        Soprano,

        /// <remarks/>
        Tenor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum StringedInstrumentsHandOrientation
    {

        /// <remarks/>
        left,

        /// <remarks/>
        right,

        /// <remarks/>
        ambidextrous,
    } 
    #endregion
    #endregion
}
